package sv.gob.mtps.colectivas.model;

// Generated Dec 29, 2013 5:35:54 PM by Hibernate Tools 3.4.0.CR1

import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import static javax.persistence.GenerationType.IDENTITY;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * TbExpedienteEstado generated by hbm2java
 */
@Entity
@Table(name = "tb_expediente_estado")
public class TbExpedienteEstado implements java.io.Serializable {

	private Integer idExpedienteEstado;
	private TbExpediente tbExpediente;
	private CatEstadoExpediente catEstadoExpediente;
	private Date fechaInicio;
	private Date fechaFin;
	private String delegado;

	public TbExpedienteEstado() {
	}

	public TbExpedienteEstado(TbExpediente tbExpediente,
			CatEstadoExpediente catEstadoExpediente) {
		this.tbExpediente = tbExpediente;
		this.catEstadoExpediente = catEstadoExpediente;
	}

	public TbExpedienteEstado(TbExpediente tbExpediente,
			CatEstadoExpediente catEstadoExpediente, Date fechaInicio,
			Date fechaFin, String delegado) {
		this.tbExpediente = tbExpediente;
		this.catEstadoExpediente = catEstadoExpediente;
		this.fechaInicio = fechaInicio;
		this.fechaFin = fechaFin;
		this.delegado = delegado;
	}

	@Id
	@GeneratedValue(strategy = IDENTITY)
	@Column(name = "id_expediente_estado", unique = true, nullable = false)
	public Integer getIdExpedienteEstado() {
		return this.idExpedienteEstado;
	}

	public void setIdExpedienteEstado(Integer idExpedienteEstado) {
		this.idExpedienteEstado = idExpedienteEstado;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "expediente", nullable = false)
	public TbExpediente getTbExpediente() {
		return this.tbExpediente;
	}

	public void setTbExpediente(TbExpediente tbExpediente) {
		this.tbExpediente = tbExpediente;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "estado_expediente", nullable = false)
	public CatEstadoExpediente getCatEstadoExpediente() {
		return this.catEstadoExpediente;
	}

	public void setCatEstadoExpediente(CatEstadoExpediente catEstadoExpediente) {
		this.catEstadoExpediente = catEstadoExpediente;
	}

	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "fecha_inicio", length = 19)
	public Date getFechaInicio() {
		return this.fechaInicio;
	}

	public void setFechaInicio(Date fechaInicio) {
		this.fechaInicio = fechaInicio;
	}

	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "fecha_fin", length = 19)
	public Date getFechaFin() {
		return this.fechaFin;
	}

	public void setFechaFin(Date fechaFin) {
		this.fechaFin = fechaFin;
	}

	@Column(name = "delegado")
	public String getDelegado() {
		return this.delegado;
	}

	public void setDelegado(String delegado) {
		this.delegado = delegado;
	}

}
